A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
This invention relates to networked client/server systems and to methods of delivering and rendering multimedia content in such systems. More particularly, the invention relates to systems and methods of selecting and providing such content.
The advent of computers and their continued technological advancement has revolutionized the manner in which people work and live. An example of such is in the education field, wherein educational presentations (such as college lectures, workplace training sessions, etc.) can be provided to a computer user as multimedia data (e.g., video, audio, text, and/or animation data). Today, such presentations are primarily video and audio, but a richer, broader digital media era is emerging. Educational multimedia presentations provide many benefits, such as allowing the presentation data to be created at a single time yet be presented to different users at different times and in different locations throughout the world.
These multimedia presentations are provided to a user as synchronized media. Synchronized media means multiple media objects that share a common timeline. Video and audio are examples of synchronized mediaxe2x80x94each is a separate data stream with its own data structure, but the two data streams are played back in synchronization with each other. Virtually any media type can have a timeline. For example, an image object can change like an animated gif file, text can change and move, and animation and digital effects can happen over time. This concept of synchronizing multiple media types is gaining greater meaning and currency with the emergence of more sophisticated media composition frameworks implied by MPEG-4, Dynamic HTML, and other media playback environments.
The term xe2x80x9cstreamingxe2x80x9d is used to indicate that the data representing the various media types is provided over a network to a client computer on a real-time, as-needed basis, rather than being pre-delivered in its entirety before playback. Thus, the client computer renders streaming data as it is received from a network server, rather than waiting for an entire xe2x80x9cfilexe2x80x9d to be delivered.
Multimedia presentations may also include xe2x80x9cannotationsxe2x80x9d relating to the multimedia presentation. An annotation is data (e.g., audio, text, video, etc.) that corresponds to a multimedia presentation. Annotations can be added by anyone with appropriate access rights to the annotation system (e.g., the lecturer/trainer or any of the students/trainees). These annotations typically correspond to a particular temporal location in the multimedia presentation and can provide a replacement for much of the xe2x80x9cin-personxe2x80x9d interaction and xe2x80x9cclassroom discussionxe2x80x9d that is lost when the presentation is not made xe2x80x9cin-personxe2x80x9d or xe2x80x9clivexe2x80x9d. As part of an notation, a student can comment on a particular point, to which another student (or lecturer, assistant, etc.) can respond in a subsequent annotation. This process can continue, allowing a xe2x80x9cclassroom discussionxe2x80x9d to occur via these annotations. Additionally, some systems allow a user to select a particular one of these annotations and begin playback of the presentation starting at approximately the point in the presentation to which the annotation corresponds.
However, current systems typically allow a user to retrieve annotations based only on a per-media stream basis. In other words, a user is typically not able to quickly, with a single request, access annotations related to different media streams. This limitation can be very cumbersome for a user, requiring him or her to painstakingly make multiple requests in order to access the desired annotations. By way of example, assume that a professor is teaching a course with forty lectures during the semester, each of which is available as an annotated media stream. A teaching assistant may need to check the annotations daily for student questions. However, requiring the teaching assistant to access the annotations for the media streams independently, and thereby requiring a separate search of each of the forty different media stream annotation groups, is particularly burdensome on the assistant.
The invention described below addresses this and other disadvantages of annotations, providing a way to improve access and retrieval of annotations.
Annotations correspond to multiple different multimedia streams. An annotation server uses a hierarchical annotation storage structure to maintain a correspondence between the annotations and a hierarchically higher group identifier. Thus, annotations corresponding to the different multimedia streams can easily be accessed concurrently by using the group identifier.
According to one aspect of the invention, uniform resource locators (URLs) are used to identify the different multimedia streams. Each of the multimedia steams is identified by a different URL having a common prefix. This prefix is then used to identify all of the multimedia streams and their corresponding annotations.